# capital-plot.R

# Exemplo de uso:
#
# source('capital-plot.R')
# PlotProbRuina(5, 20, 100, 1:3, nsim=500)
# PlotProbRuina(1:6, 20, 100, 1:3, nsim=500)
# PlotProbRuina(5, 20, 100, 1:2, nsim=500, DrawSimulacao=TRUE, DrawLundberg=FALSE)

source('dados.R')
source('capital-coefadj.R')
source('capital-simulacao.R')

PlotProbRuina <- function(R, umin, umax, CE, nsim=10000,
	DrawSimulacao=TRUE, DrawLundberg=TRUE)
{
	U <- seq(umin, umax, length=6)
	if(length(R) > 1)
		par(mfrow = c(ceiling(length(R)/3), ((length(R)-1)%%3)+1))

	LegendStr <- rep(0, length(CE))
	for(r in R) {
		X <- Danos(r)
		for(ci in 1:length(CE)) {
			c. <- Ccoef(Anos(r), X, CE[ci])
	
			if(DrawLundberg)
				PL <- ProbLundberg(X, U, c., 0, 0)
			if(DrawSimulacao)
				PS <- ProbSimulaRuina(nsim, X, U, c., 0)


			if(ci == 1)
				p <- plot
			else
				p <- lines
			if(DrawLundberg) {
				p(U, PL, type='l',
					main=paste('Probabilidade de Ruina para retenção:', r),
					ylim = c(0, 1),
					cex.main = .9, cex.lab = .8,
					xlab='Capital', ylab='Probabilidade de Ruina',
					col='violet', lwd=2,
					lty=ci)
				p <- lines
			}
			if(DrawSimulacao)
				p(U, PS, type='l',
					main=paste('Probabilidade de Ruina para retenção:', r),
					ylim = c(0, 1),
					cex.main = .9, cex.lab = .8,
					xlab='Capital', ylab='Probabilidade de Ruina',
					col='blue', lwd=2,
					lty=ci)
			LegendStr[ci] <- paste('prémio =', format(c., digits=3), '/',
				format(CE[ci], digits=3), '%')
		}

		Linhas <- 1:length(CE)
		if(DrawLundberg && DrawSimulacao) {
			LegendStr <- c('majoração de Lundberg', 'simulação', LegendStr)
			Cores <- c('violet', 'blue', rep(c('black'), length(CE)))
			Linhas <- c(1,1,Linhas)
		}
		else if(DrawLundberg)
			Cores <- c(rep(c('violet'), length(CE)))
		else if(DrawSimulacao)
			Cores <- c(rep(c('blue'), length(CE)))
		legend('topright', LegendStr,
			#title='Prémios:', title.adj=.05,
			lty=Linhas, lwd=rep(2, length(CE)),
			col=Cores,
			bg='white', cex=.6)
	}

	if(length(R) > 1)
		par(mfrow = c(1, 1))
}

